int a[10],*p=a与 int (*p)[10]一样吗

来源:百度知道 编辑:UC知道 时间:2024/06/14 10:44:04
两个指针分别指向的是什么

不一样,int a[10], *p=a; p定义是指向int 的指针, 然后赋值为a,访问数组的元素可以用a[i],等同于p[i];
int (*p)[10]仅仅是声明类型,指向数组的指针,没有赋值,p的值是不确定的。可以这样赋值,你应该可以看出差别了。
int (*p)[10]
int b[2][10];
p = b;
或者
int a[10];
int (*p)[10] ;
p =&a;

楼主问的不专业,这里的p指针是一样的,建议楼主看看C语言基础的书,int (*p)[10]的意思是声明一个int型指针,但这个指针不能乱指,只能指向一个int型的大小为10 的数组,但还没有赋值。但int a[10],*p=a;声明的指针p已经指向了一个大小为10 的数组。

int (*p)[10]没有见过这种声明方法,试下不就知道了,还有现在不是不提倡用指针了么